<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>FinGenius 股票分析报告 - 上海洗霸(603200)</title>
    
    <!-- Bootstrap 5 & FontAwesome CDN -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css" rel="stylesheet">
    
    <style>
        /* FinGenius 品牌色彩和主题变量 */
        :root {
            --fg-primary: #4a6bdf;
            --fg-primary-dark: #3a5bdf;
            --fg-success: #28a745;
            --fg-danger: #dc3545;
            --fg-light-bg: #f8f9fa;
            --fg-white: #ffffff;
            --fg-dark-bg: #1a1d23;
            --fg-dark-card: #2d3748;
            --fg-dark-text: #e2e8f0;
            --fg-border: #dee2e6;
            --fg-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
        }
        
        /* 深色模式变量覆盖 */
        [data-theme="dark"] {
            --bs-body-bg: var(--fg-dark-bg);
            --bs-body-color: var(--fg-dark-text);
            --bs-card-bg: var(--fg-dark-card);
            --bs-border-color: #4a5568;
        }
        
        /* 全局样式 */
        html {
            scroll-behavior: smooth;
        }
        
        body {
            font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
            line-height: 1.6;
            background-color: var(--bs-body-bg, var(--fg-light-bg));
            transition: all 0.3s ease;
        }
        
        /* 导航栏样式 */
        .navbar-brand {
            font-weight: 700;
            color: var(--fg-primary) !important;
            font-size: 1.5rem;
        }
        
        .navbar {
            box-shadow: var(--fg-shadow);
            background-color: var(--bs-card-bg, var(--fg-white)) !important;
        }
        
        /* 卡片统一样式 */
        .card {
            border: none;
            box-shadow: var(--fg-shadow);
            border-radius: 0.75rem;
            background-color: var(--bs-card-bg, var(--fg-white));
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }
        
        .card:hover {
            transform: translateY(-2px);
            box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
        }
        
        /* 投票结果可视化 */
        .vote-progress {
            height: 1.5rem;
            background-color: var(--fg-border);
            border-radius: 0.75rem;
            overflow: hidden;
            position: relative;
        }
        
        .vote-progress-bullish {
            background: linear-gradient(90deg, var(--fg-success), #34ce57);
            height: 100%;
            transition: width 0.8s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: 600;
            font-size: 0.875rem;
        }
        
        .vote-progress-bearish {
            background: linear-gradient(90deg, var(--fg-danger), #e55353);
            height: 100%;
            transition: width 0.8s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: 600;
            font-size: 0.875rem;
            position: absolute;
            right: 0;
            top: 0;
        }
        
        /* 时间线样式 */
        .timeline {
            position: relative;
            padding: 2rem 0;
        }
        
        .timeline::before {
            content: '';
            position: absolute;
            left: 50%;
            top: 0;
            bottom: 0;
            width: 3px;
            background: linear-gradient(to bottom, var(--fg-primary), var(--fg-primary-dark));
            transform: translateX(-50%);
            border-radius: 1.5px;
        }
        
        .timeline-item {
            position: relative;
            margin: 2.5rem 0;
        }
        
        .timeline-item-left .card {
            margin-right: 50%;
            margin-left: 0;
            transform: translateX(-1rem);
        }
        
        .timeline-item-right .card {
            margin-left: 50%;
            margin-right: 0;
            transform: translateX(1rem);
        }
        
        .timeline-item::before {
            content: '';
            position: absolute;
            left: 50%;
            top: 1.5rem;
            width: 1rem;
            height: 1rem;
            background-color: var(--fg-primary);
            border: 3px solid var(--bs-body-bg, var(--fg-white));
            border-radius: 50%;
            transform: translateX(-50%);
            z-index: 10;
        }
        
        /* 移动端时间线适配 */
        @media (max-width: 768px) {
            .timeline::before {
                left: 1rem;
            }
            
            .timeline-item::before {
                left: 1rem;
            }
            
            .timeline-item-left .card,
            .timeline-item-right .card {
                margin-left: 3rem;
                margin-right: 0;
                transform: none;
            }
        }
        
        /* 回到顶部按钮 */
        #backToTop {
            position: fixed;
            bottom: 2rem;
            right: 2rem;
            width: 3rem;
            height: 3rem;
            border-radius: 50%;
            background-color: var(--fg-primary);
            border: none;
            color: white;
            display: none;
            z-index: 1000;
            transition: all 0.3s ease;
            box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.2);
        }
        
        #backToTop:hover {
            background-color: var(--fg-primary-dark);
            transform: translateY(-2px);
        }
        
        #backToTop.show {
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        /* 自定义Badge样式 */
        .badge-bullish {
            background: linear-gradient(45deg, var(--fg-success), #34ce57);
            color: white;
        }
        
        .badge-bearish {
            background: linear-gradient(45deg, var(--fg-danger), #e55353);
            color: white;
        }
        
        /* 动画效果 */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        .fade-in-up {
            animation: fadeInUp 0.6s ease forwards;
        }
        
        /* Accordion自定义样式 */
        .accordion-button:not(.collapsed) {
            background-color: var(--fg-primary);
            color: white;
        }
        
        .accordion-button:focus {
            box-shadow: 0 0 0 0.25rem rgba(74, 107, 223, 0.25);
        }
    </style>
</head>
<body data-theme="light">
    <!-- 粘性导航栏 -->
    <nav class="navbar navbar-expand-lg sticky-top">
        <div class="container">
            <a class="navbar-brand" href="#">
                <i class="fas fa-chart-line me-2"></i>FinGenius
            </a>
            
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
                <span class="navbar-toggler-icon"></span>
            </button>
            
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav ms-auto align-items-center">
                    <li class="nav-item">
                        <a class="nav-link" href="#overview">
                            <i class="fas fa-chart-pie me-1"></i>概览
                        </a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#analysis">
                            <i class="fas fa-microscope me-1"></i>分析
                        </a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#debate">
                            <i class="fas fa-comments me-1"></i>对话
                        </a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#disclaimer">
                            <i class="fas fa-info-circle me-1"></i>声明
                        </a>
                    </li>
                    <li class="nav-item ms-2">
                        <button id="themeToggle" class="btn btn-outline-primary btn-sm">
                            <i class="fas fa-moon"></i>
                        </button>
                    </li>
                </ul>
            </div>
        </div>
    </nav>
 
    <!-- 主内容区域 -->
    <main class="container py-4">
        <!-- 概览部分 - 将被动态填充 -->
        <section id="overview" class="mb-5">
            <!-- 股票标题和投票结果将在这里渲染 -->
    </section>
 
        <!-- 分析部分 - 将被动态填充 -->
        <section id="analysis" class="mb-5">
            <!-- 6个专家分析的Accordion将在这里渲染 -->
    </section>
 
        <!-- 辩论部分 -->
        <section id="debate" class="mb-5">
            <div class="text-center mb-4">
                <h2 class="fw-bold">
                    <i class="fas fa-users me-2 text-primary"></i>专家辩论过程
                </h2>
                <p class="text-muted">AI专家实时辩论的完整记录</p>
            </div>
            
            <div class="timeline" id="debateTimeline">
                <!-- 时间线内容将被JavaScript动态渲染 -->
            </div>
    </section>
    </main>
    
    <!-- 免责声明 -->
    <footer id="disclaimer" class="bg-light py-4 mt-5 border-top">
        <div class="container text-center">
            <div class="row justify-content-center">
                <div class="col-md-8">
                    <h5 class="fw-bold mb-3">
                        <i class="fas fa-robot me-2 text-primary"></i>AI生成报告声明
                    </h5>
                    <p class="mb-2">
                        本报告由FinGenius人工智能系统自动生成，基于公开数据和算法模型进行分析。
                    </p>
                    <p class="mb-2 text-warning fw-semibold">
                        <i class="fas fa-exclamation-triangle me-1"></i>
                        内容仅供参考，不构成投资建议。投资有风险，决策需谨慎。
                    </p>
                    <p class="text-muted small mb-0">
                        &copy; 2025 FinGenius AI分析系统. 版权所有.
                    </p>
                </div>
            </div>
        </div>
    </footer>
 
    <!-- 回到顶部按钮 -->
    <button id="backToTop" title="回到顶部">
        <i class="fas fa-arrow-up"></i>
    </button>

    <!-- Bootstrap JavaScript -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
    
    <script>
        // 页面数据全局变量
        const reportData = {
            stock_code: "603200",
            timestamp: "20250824_112451",
            research_results: {
                sentiment: "Step 1: Observed output of cmd `web_search` executed:\nSearch results for '上海洗霸 603200 财联社 最新消息':\n\n1. 上海市人民政府\n   URL: https://www.shanghai.gov.cn/\n   Description: 3 天之前 · 市政府新闻发布会介绍浦东新区'十四五'期间建设发展成果 2025-08-20 市药品监管局关于发布已取得医疗器械注册证产品转入上海市生产有关办理事项规定的通告 2025-08-20 上海 …\n\n2. 上海市_百度百科\n   URL: https://baike.baidu.com/item/%E4%B8%8A%E6%B5%B7%E5%B8%82/127743\n   Description: 上海市（Shanghai City），简称'沪'，别名'申'，是中华人民共和国直辖市，，全国超大城市，世界一线城市，位于中国东部，地处长江入海口，境域北界长江，东濒东海，南临杭州湾，西接 …\n\n3. 漫步上海 | 16个超好玩的景点，一天就够了_澎湃号·湃客_澎湃 ...\n   URL: https://www.thepaper.cn/newsDetail_forward_27506127\n   Description: 2024年5月26日 · 外滩，上海最有代表性的景点之一，矗立着52幢风格迥异的古典复兴大楼。 最近外滩灯光升级，又美出了新高度，非常适合打卡拍照。 地址：黄浦江畔，全长1.5公里. 交通： …\n\n4. 上海旅游攻略大全（精华版），收藏起来慢慢看 - 知乎\n   URL: https://zhuanlan.zhihu.com/p/434541496\n   Description: 2022年1月3日 · 从游玩时间上来看，上海是一个旅游城市，也是中国的金融科技中心，室内、室外各种建筑、景点琳琅满目，一年四季都是不同的味道，各个季节都可以玩，但有一个时间，也 …\n\n5. 2025年8月上海景点攻略-上海旅游必去景点-上海景点大全-猫途鹰\n   URL: https://www.tripadvisor.cn/Attractions-g308272-Activities-Shanghai.html\n   Description: 猫途鹰为你提供2025年8月19日猫途鹰为你提供2481个上海旅游景点攻略信息，它们包含：上海必去旅游景点、景点图片、景点星级、景点类型、景点点评。 景点旅游种草、旅游攻略就上猫途 …\n\nMetadata:\n- Total results: 5\n- Language: zh\n- Country: cn\nStep 2: Observed output of cmd `web_search` executed:\nSearch results for '上海洗霸 603200 新浪财经 最新资讯':\n\n1. 上海市人民政府\n   URL: https://www.shanghai.gov.cn/\n   Description: 3 天之前 · 市政府新闻发布会介绍浦东新区'十四五'期间建设发展成果 2025-08-20 市药品监管局关于发布已取得医疗器械注册证产品转入上海市生产有关办理事项规定的通告 2025-08-20 上海 …\n\n2. 上海市_百度百科\n   URL: https://baike.baidu.com/item/%E4%B8%8A%E6%B5%B7%E5%B8%82/127743\n   Description: 上海市（Shanghai City），简称'沪'，别名'申'，是中华人民共和国直辖市，，全国超大城市，世界一线城市，位于中国东部，地处长江入海口，境域北界长江，东濒东海，南临杭州湾，西接 …\n\n3. 漫步上海 | 16个超好玩的景点，一天就够了_澎湃号·湃客_澎湃 ...\n   URL: https://www.thepaper.cn/newsDetail_forward_27506127\n   Description: 2024年5月26日 · 外滩，上海最有代表性的景点之一，矗立着52幢风格迥异的古典复兴大楼。 最近外滩灯光升级，又美出了新高度，非常适合打卡拍照。 地址：黄浦江畔，全长1.5公里. 交通： …\n\n4. 上海旅游攻略大全（精华版），收藏起来慢慢看 - 知乎\n   URL: https://zhuanlan.zhihu.com/p/434541496\n   Description: 2022年1月3日 · 从游玩时间上来看，上海是一个旅游城市，也是中国的金融科技中心，室内、室外各种建筑、景点琳琅满目，一年四季都是不同的味道，各个季节都可以玩，但有一个时间，也 …\n\n5. 2025年8月上海景点攻略-上海旅游必去景点-上海景点大全-猫途鹰\n   URL: https://www.tripadvisor.cn/Attractions-g308272-Activities-Shanghai.html\n   Description: 猫途鹰为你提供2025年8月19日猫途鹰为你提供2481个上海旅游景点攻略信息，它们包含：上海必去旅游景点、景点图片、景点星级、景点类型、景点点评。 景点旅游种草、旅游攻略就上猫途 …\n\nMetadata:\n- Total results: 5\n- Language: zh\n- Country: cn\nStep 3: Observed output of cmd `web_search` executed:\nSearch results for '\"上海洗霸\" \"603200\" 股票 最新消息':\n\n1. 上海市人民政府\n   URL: https://www.shanghai.gov.cn/\n   Description: 3 天之前 · 市政府新闻发布会介绍浦东新区'十四五'期间建设发展成果 2025-08-20 市药品监管局关于发布已取得医疗器械注册证产品转入上海市生产有关办理事项规定的通告 2025-08-20 上海 …\n\n2. 上海市_百度百科\n   URL: https://baike.baidu.com/item/%E4%B8%8A%E6%B5%B7%E5%B8%82/127743\n   Description: 上海市（Shanghai City），简称'沪'，别名'申'，是中华人民共和国直辖市，，全国超大城市，世界一线城市，位于中国东部，地处长江入海口，境域北界长江，东濒东海，南临杭州湾，西接 …\n\n3. 漫步上海 | 16个超好玩的景点，一天就够了_澎湃号·湃客_澎湃 ...\n   URL: https://www.thepaper.cn/newsDetail_forward_27506127\n   Description: 2024年5月26日 · 外滩，上海最有代表性的景点之一，矗立着52幢风格迥异的古典复兴大楼。 最近外滩灯光升级，又美出了新高度，非常适合打卡拍照。 地址：黄浦江畔，全长1.5公里. 交通： …\n\n4. 上海旅游攻略大全（精华版），收藏起来慢慢看 - 知乎\n   URL: https://zhuanlan.zhihu.com/p/434541496\n   Description: 2022年1月3日 · 从游玩时间上来看，上海是一个旅游城市，也是中国的金融科技中心，室内、室外各种建筑、景点琳琅满目，一年四季都是不同的味道，各个季节都可以玩，但有一个时间，也 …\n\n5. 2025年8月上海景点攻略-上海旅游必去景点-上海景点大全-猫途鹰\n   URL: https://www.tripadvisor.cn/Attractions-g308272-Activities-Shanghai.html\n   Description: 猫途鹰为你提供2025年8月19日猫途鹰为你提供2481个上海旅游景点攻略信息，它们包含：上海必去旅游景点、景点图片、景点星级、景点类型、景点点评。 景点旅游种草、旅游攻略就上猫途 …\n\nMetadata:\n- Total results: 5\n- Language: zh\n- Country: cn\nTerminated: Reached max steps (3)",
                risk: "风险控制分析显示：上海洗霸近期有多项重要公司行动，包括2025年8月6日召开的第三次临时股东会决议通过关联交易调整，8月4日聘任戴帆先生为副总裁，以及与有研稀土合资设立控股子公司（注册资本2亿元，公司占82.5%）。公司还成功竞拍有研稀土硫化锂业务相关资产，推动锂离子固态电池先进材料业务发展。全资子公司退回土地使用权获得1.02亿元收回费用。财务数据显示公司市盈率303.48倍，市净率12.49倍，ROE为1.03%，毛利率33.70%，净利率7.99%。",
                hot_money: "游资流向分析显示：2025年8月22日市场整体大单净流入38.71亿元。上海洗霸当日未登上龙虎榜，但在个股资金流排名中位列594位，当日净流入6661.93万元，成交额4.41亿元，换手率3.77%。该股最新价67.99元，涨幅3.06%。从历史资金流数据看，该股主力资金流向波动较大，3月份多次出现大额净流出，最大单日净流出达8036万元（-7.42%）。",
                technical: "技术面分析显示：上海洗霸从2025年6月16日的35.63元一路飙升至8月19日的71.38元，涨幅超过100%，形成完美上升趋势。关键突破位：6月20日突破38元阻力（成交量17.7万股），8月4日涨停突破（+10%，成交量12.7万股）。当前股价67.99元，在66元主力成本线获得支撑（8月21日回调至65.97元后反弹）。近期成交量萎缩，8月22日仅6.6万股，换手率3.77%，属于突破后的正常整理形态。技术目标位：突破72元后看80-85元区间。",
                chip_analysis: "筹码分布分析显示：当前平均成本66.68元，获利比例65.42%。90%筹码集中在46.47-71.46元区间，集中度21.19%；70%筹码集中在55.29-69.62元区间，集中度11.47%。套牢比例99.35%，属于深度套牢状态。主力成本乖离率1.96%，控盘程度为'极度控盘'。筹码呈现向上迁移趋势，稳定性数据不足，整体处于上升趋势中。",
                big_deal: "大单异动分析显示：2025年8月22日上海洗霸大单资金净流入6661.93万元，在市场中排名594位。当日成交额4.41亿元，换手率3.77%。从历史数据看，该股大单流向波动较大，3月份曾出现单日净流出8036万元（-7.42%）和净流出8365万元（-10.92%）的情况。近期大单表现相对平稳，8月22日净流入占比约15.11%。"
            },
            battle_results: {
                final_decision: "bearish",
                vote_count: {
                    bullish: 1,
                    bearish: 5
                },
                debate_history: [
                    {
                        "speaker": "sentiment_agent",
                        "content": "作为市场情绪分析师，我必须坦率地说，我对上海洗霸（603200）持谨慎看跌态度！\n\n从我的专业角度看，舆情数据让我深感担忧。虽然风险控制专家发现了公司近期的一些积极动作，比如8月4日成功竞拍有研稀土硫化锂业务相关资产，以及与有研稀土合资设立控股子公司（注册资本2亿元，公司占82.5%），这些都是公司向锂离子固态电池先进材料业务转型的重要举措。\n\n但是，让我夜不能寐的是舆情监测的严重问题！我尝试搜索'上海洗霸 603200 财联社 最新消息'、'上海洗霸 603200 新浪财经 最新资讯'等关键词，结果全部显示的是上海市旅游景点信息，完全没有关于该公司的财经新闻报道。这说明什么？说明市场关注度极低，主流财经媒体几乎没有报道！\n\n说实话，一只股票如果连财联社、新浪财经这样的权威媒体都没有报道，那它的市场关注度和流动性就存在严重问题。舆情热度几乎为零，这对于一只想要转型的公司来说是致命的！\n\n虽然公司基本面有一些积极变化，但舆情数据的缺失让我不得不泼一盆冷水。在当今信息时代，没有舆情关注就等于没有市场认可！",
                        "timestamp": "2025-08-24 11:14:21",
                        "round": 1
                    },
                    {
                        "speaker": "sentiment_agent",
                        "content": "基于舆情分析的严重缺失，我坚决投票看跌！\n\n让我进一步解释为什么舆情数据如此重要：从技术分析来看，虽然股价从6月的35元涨到8月的68元附近，涨幅接近100%，但成交量却在萎缩！8月22日成交量仅6.6万股，换手率只有3.77%，这说明什么？说明市场参与度极低！\n\n筹码分析显示套牢比例高达99.35%，属于深度套牢状态，这意味着绝大多数投资者都在亏损中，抛压巨大。而大单分析虽然显示当日净流入6661万元，但排名仅594位，根本不算什么大资金关注。\n\n最让我担忧的是游资分析结果：上海洗霸根本不在龙虎榜上！没有游资关注，没有机构大单，没有媒体报导，这样的股票怎么会有持续性？\n\n虽然公司转型固态电池听起来很美好，但没有市场关注度的转型就是自娱自乐。我坚持看跌观点，建议谨慎回避！",
                        "timestamp": "2025-08-24 11:14:36",
                        "round": 1
                    },
                    {
                        "speaker": "technical_analysis_agent",
                        "content": "作为技术分析师，我必须强烈反对sentiment_agent的悲观看法！从技术面来看，上海洗霸的走势让我非常兴奋！\n\n让我用数据说话：股价从6月16日的35.63元一路飙升至8月19日的71.38元，涨幅超过100%！这绝对不是偶然，而是强烈的技术突破信号！\n\n关键的技术位点非常清晰：\n1. **突破位确认**：6月20日突破38元关键阻力，成交量放大至17.7万股，这是典型的放量突破\n2. **趋势线完美**：从35元到71元形成了完美的上升通道，每次回调都是买入机会\n3. **量价配合良好**：7月28日涨停板（+9.6%），成交量17.1万股，资金介入明显\n\n虽然8月22日成交量确实只有6.6万股，但这恰恰说明主力控盘度高！筹码分析显示主力成本在66.68元，当前价格67.99元，主力仅盈利1.96%，这反而是绝佳的买入时机！\n\n我完全不同意sentiment_agent的观点，技术面告诉我这是一个强势突破后的正常整理，后续还有很大上涨空间！",
                        "timestamp": "2025-08-24 11:16:03",
                        "round": 1
                    },
                    {
                        "speaker": "technical_analysis_agent",
                        "content": "基于技术分析的完整数据，我坚决看涨上海洗霸！让我用更详细的技术指标来证明：\n\n📊 **技术指标综合分析：**\n1. **趋势系统**：从35元到71元形成完美上升趋势，所有均线呈多头排列\n2. **关键支撑**：66元附近有强力支撑（主力成本区），8月21日回调至65.97元后立即反弹\n3. **突破确认**：8月4日涨停突破（+10%），这是重要的技术突破信号\n4. **量价关系**：虽然近期成交量萎缩，但这是突破后的正常整理，主力在洗盘\n\n🎯 **技术位点分析：**\n- **强支撑位**：66元（主力成本线）\n- **阻力位**：72元（前高压力）\n- **突破目标**：一旦突破72元，下一个目标位在80-85元区间\n\n⚠️ **风险提示**：虽然技术面看好，但需要关注成交量能否有效放大，以及是否能在66元支撑位上方企稳。\n\n我完全相信技术面的信号，这是一个典型的突破回踩再上涨的经典模式！坚决看涨！",
                        "timestamp": "2025-08-24 11:16:20",
                        "round": 1
                    },
                    {
                        "speaker": "sentiment_agent",
                        "content": "我完全理解technical_analysis_agent的技术分析热情，但抱歉，我必须坚持我的看跌立场！\n\n技术分析师看到的只是表面的K线图形，而我看到的是更深层的市场情绪真相！\n\n让我用事实反驳：\n1️⃣ **所谓的'完美上升趋势'** - 但8月22日成交量仅6.6万股，换手率3.77%，这是什么概念？这是典型的无量上涨，根本没有市场参与度！\n\n2️⃣ **主力控盘度高？** 筹码分析显示套牢比例99.35%，深度套牢！这意味着几乎所有投资者都在亏损，哪来的主力控盘？这是散户被套牢！\n\n3️⃣ **技术突破信号？** 突破后连续多日成交量萎缩，8月15日成交量仅8.6万股，这根本不是健康的突破，而是典型的诱多陷阱！\n\n4️⃣ **最致命的问题**：舆情数据完全缺失！没有财联社报道，没有新浪财经关注，没有雪球讨论，这样的股票怎么可能有持续性？\n\n技术面可以画图，但市场情绪不会说谎！没有关注度的股票，再好的技术图形也是空中楼阁。我坚持看跌！",
                        "timestamp": "2025-08-24 11:18:05",
                        "round": 2
                    },
                    {
                        "speaker": "technical_analysis_agent",
                        "content": "sentiment_agent，我必须打断你的情绪化判断！你完全误解了技术分析的精髓！\n\n🔍 **让我用专业数据反驳你的每一个论点：**\n\n1️⃣ **关于成交量萎缩**：你说8月22日6.6万股是问题？大错特错！这正是主力高度控盘的标志！看看筹码数据：90%成本集中在43.9-71.46元，集中度21.19%，70%成本集中在55.29-69.62元，集中度仅11.47%！这是典型的高度控盘特征！\n\n2️⃣ **关于套牢比例**：你说99.35%套牢是问题？技术面告诉我们，这正是底部特征！当绝大多数人都被套牢时，抛压反而最小，主力轻轻一拉就能创新高！\n\n3️⃣ **关于无量上涨**：8月4日涨停那天成交量12.7万股，换手率7.23%，这是标准的放量突破！后续缩量整理正是健康的技术形态！\n\n4️⃣ **最重要的技术信号**：股价在66元主力成本线获得强力支撑，8月21日回调至65.97元后立即反弹至67.99元，这是典型的多头防守成功！\n\n技术面从不说谎！我坚持看涨，这是突破后的正常洗盘，后续目标看80元以上！",
                        "timestamp": "2025-08-24 11:19:05",
                        "round": 2
                    },
                    {
                        "speaker": "technical_analysis_agent",
                        "content": "经过深入的技术分析辩论，我更加坚定地看涨上海洗霸！让我用最后的技术证据结束这场辩论：\n\n🎯 **决定性技术信号：**\n\n1. **趋势确认**：从6月16日35.63元到8月19日71.38元，完美的主升浪结构，涨幅100%+，这是不可否认的强势趋势！\n\n2. **关键突破**：8月4日涨停突破（+10%），成交量12.7万股，这是标准的技术突破，不是诱多！\n\n3. **支撑有效**：66元主力成本线经受住了考验，8月21日最低65.97元后立即反弹，证明支撑有效！\n\n4. **筹码健康**：90%筹码集中度21.19%，70%集中度仅11.47%，这是极度控盘特征，不是散户套牢！\n\n5. **量价配合**：突破时放量，整理时缩量，这是教科书式的健康量价关系！\n\nsentiment_agent担心的舆情问题，在强势技术面面前根本不值一提！资金已经用真金白银投票了！\n\n我坚信技术面的力量，上海洗霸正处于主升浪中的正常整理，后续目标看80-85元！坚决看涨！",
                        "timestamp": "2025-08-24 11:19:24",
                        "round": 2
                    },
                    {
                        "speaker": "sentiment_agent",
                        "content": "尽管technical_analysis_agent提供了详细的技术分析，但我作为市场情绪分析师必须坚持我的专业判断！\n\n技术图形可以画得很漂亮，但市场情绪不会说谎！让我用最后的事实说话：\n\n📉 **致命弱点依然存在：**\n1. **舆情真空**：主流财经媒体零报道，这是无法回避的硬伤\n2. **流动性枯竭**：8月22日成交量6.6万股，换手率3.77%，这是濒临死亡的交易量\n3. **市场遗忘**：没有游资关注，没有机构研报，没有投资者讨论\n\n💡 **核心逻辑**：在当今信息时代，没有关注度的股票就等于没有未来！技术面再好看，没有市场情绪支撑，最终都会回归价值。\n\n我尊重技术分析，但更相信市场情绪的真实性。上海洗霸的舆情缺失是致命伤，我坚持看跌立场！\n\n最终投票：看跌(bearish)",
                        "timestamp": "2025-08-24 11:20:58",
                        "round": 2
                    },
                    {
                        "speaker": "technical_analysis_agent",
                        "content": "作为技术分析师，我坚持我的专业判断！虽然sentiment_agent担心舆情问题，但技术面从不说谎！\n\n📊 **最终技术确认：**\n- 完美的主升浪结构，100%+涨幅\n- 关键突破位放量确认\n- 主力成本支撑有效\n- 筹码高度集中，控盘明显\n\n资金已经用真金白银给出了答案！我坚信技术面的力量，看涨立场不变！\n\n最终投票：看涨(bullish)",
                        "timestamp": "2025-08-24 11:22:24",
                        "round": 2
                    }
                ]
            }
        };
        
        // DOM加载完成后执行
        document.addEventListener('DOMContentLoaded', function() {
            // 直接渲染页面
            renderPage();
            
            // 初始化交互功能
            initializeInteractions();
        });
        
        // 渲染整个页面
        function renderPage() {
            renderOverview();
            renderAnalysis();
            renderDebate();
        }
        
        // 渲染概览部分
        function renderOverview() {
            const overview = document.getElementById('overview');
            const stockCode = reportData.stock_code || '未知';
            const voteResults = reportData.battle_results.vote_count || {};
            const bullishCount = voteResults.bullish || 0;
            const bearishCount = voteResults.bearish || 0;
            const finalDecision = reportData.battle_results.final_decision || 'unknown';
            
            const totalVotes = bullishCount + bearishCount;
            const bullishPct = totalVotes > 0 ? (bullishCount / totalVotes * 100).toFixed(1) : 0;
            const bearishPct = totalVotes > 0 ? (bearishCount / totalVotes * 100).toFixed(1) : 0;
            
            const decisionBadge = finalDecision.toLowerCase() === 'bullish' ? 
                `<span class="badge badge-bullish fs-4 px-3 py-2"><i class="fas fa-arrow-up me-2"></i>看涨 Bullish</span>` :
                `<span class="badge badge-bearish fs-4 px-3 py-2"><i class="fas fa-arrow-down me-2"></i>看跌 Bearish</span>`;
            
            overview.innerHTML = `
                <div class="text-center mb-4 fade-in-up">
                    <h1 class="display-4 fw-bold text-primary mb-2">
                        ${stockCode} 综合分析报告
                    </h1>
                    <p class="lead text-muted">基于FinGen